为什么有的编译器用<iostream.h>有的用<iostream> ?

来源:百度知道 编辑:UC知道 时间:2024/07/05 20:16:06
请讲一下什么时候用哪个头文件?谢谢

这个还是要做些分别的。

iostream.h
是很久以前的头文件,当时新的C++标准还没有出炉,所以依然保持和旧有的C风格的头文件一样的后缀“.h”;然而,新C++标准出台后,为了和以前的,特别是C语言中的头文件以示区别,统统将“.h”后缀去掉了。并且,还引入了“命名空间”的概念——namespace

这是因为随着库的不断增大,难免会遇到“命名冲突”的问题,引入命名空间,就是说:某个变量名或常量名只在它所属的命名空间下,才是有意义的。离开了它的命名空间,该名称不可用——这就解决了命名冲突的问题。

因此,当你阅读一些旧的书籍时,会发现大多使用
#include <iostream.h>
因为当时新标准还没有出台;而阅读近几年的书籍时,都是
#include <iostream>
using namespace std;

意思是——使用标准的全局命名空间!若你依然使用带后缀“.h”的预处理指令,那么编译器会通知:“XXX.h”文件不存在。

简言之,就是说,当你使用C语言的头件时,就带上“.h”;若使用C++的头文件时,就不要带后缀,而是声明使用所属的命名空间,一般写上
using namespace std;
这句就可以了。

标准C++都支持<iostream>而不是<iostream.h>

所以建议使用<iostream>,而不是<iostream.h>

c++哪个都可以,你想加就加,不想加就不用加,都表示头文件